Decision tree learning, used in statistics, data mining and machine learning, uses a decision tree as a predictive model which maps observations about an item to conclusions about the item's target value. More descriptive names for such tree models are classification trees or regression trees. In these tree structures, leaves represent class labels and branches represent conjunctions of features that lead to those class labels.
In machine learning, building a model or decision tree based on a large data set can take a long time. Further, the time and resources necessary to build a model increases as the required quality or depth of the model increases.
In the last few years virtualization has contributed to easily create auto-scaling applications. Most auto-scaling implementations are limited to adding up extra hardware resources and replicate exactly the same software again and again. The structure of the tasks these systems solve are the same on overload conditions. New requests just come at a higher intensity so more resources are added momentarily until the load goes back to normal and then additional resources are disabled.
The criteria used to auto-scale in the past are mostly concerned with hardware monitoring parameters like CPU utilization, band width consumption, free memory, or using metrics computed using the number of requests that are being received or pending to answer.